package com.atguigu1.core.operator

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

/**
 *
 * @description: xxx
 * @time: 2021-03-12 18:13
 * @author: baojinlong 
 **/
object Spark03Map {


  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("rdd")
    val sparkContext = new SparkContext(conf)
    val rdd: RDD[Int] = sparkContext.makeRDD(List(1, 2, 3, 4), 1)
    val mapRddResult: RDD[Int] = rdd.map {
      num => {
        println("num=>>>>" + num)
        num
      }
    }
    // rdd的计算一个分区内的数据是一个一个执行逻辑
    // 只有前面的一个数据全部的逻辑执行完毕后,才会执行下一个数据
    // 分区内数据的执行是有序的
    // 不同分区数据计算是无序的
    val mapRddResult2: RDD[Int] = mapRddResult.map {
      num => {
        println("num=####" + num)
        num
      }
    }
    mapRddResult2.collect()
    sparkContext.stop()
  }

}
